Re-designing Tasking Structures of Ada Programs for Analysis: A Case Study
نویسندگان
چکیده
In YY91, YY93b, Yeh93] we described a compositional (hierarchical) approach to reachability analysis of Ada tasking programs based on process algebra. The abstraction capabilities of process algebra provide an eeective means to control state explosion in automated state-space analysis, but only if a design is carefully modularized to encapsulate details of behavior. We report here our experience modifying an existing design (the remote temperature sensor system described in San89]) to make it more amenable to hierarchical analysis. Redesign for analysis was eeective in improving the design in other ways as well: Flaws uncovered in the analysis (and present in the original design) were easy to understand and correct because of the increased understandability of the revised design. This also suggests that these aws might have been avoided, and the design generally improved, had \design for analysis" been applied from the start.
منابع مشابه
Symbolic Data Flow Analysis for Detecting Deadlocks in Ada Tasking Programs
It is well accepted that designing and analyzing concurrent software-components are tedious tasks. Assuring the quality of such software requires formal methods, which can statically detect deadlocks. This paper presents a symbolic data ow analysis framework for detecting deadlocks in Ada programs with tasks. The symbolic data ow framework is based on symbolic evaluation { an advanced technique...
متن کاملTasking Deadlocks in Ada 95 Programs and Their Detection
Tasking deadlock is one of the most serious and complex problems concerning the reliability of concurrent systems with Ada. In this paper, tasking deadlocks which may occur in Ada 95 programs are investigated, a representation, named the Task-Wait-For Graph, for task synchronization waiting state of an Ada 95 program is proposed, and a runtime detection method for the tasking deadlocks based on...
متن کاملModeling and Analysis of Real-Time Ada Tasking Programs
We propose a model for real-time Ada tasking programs that naturally represents such features as processor sharing, priority preemption, and process suspension. We describe a semi-decision procedure for proving properties of the model that uses linear programming to determine the feasibility of paths explored during a state-space search of the program. We demonstrate the feasibility of this pro...
متن کاملAutomatic Translation of Ada-ECATNet Using Rewriting Logic
One major difficulty that faces developers of concurrent and distributed software is analysis for concurrency based faults like deadlocks. Petri nets are used extensively in the verification of correctness of concurrent programs. ECATNets are a category of algebraic Petri nets based on a sound combination of algebraic abstract types and high-level Petri nets. ECATNets have 'sound' and 'complete...
متن کاملExperimental Design for Comparing Static Concurrency Analysis Techniques
formally, experimentation can help develop estimates of Software engineering has suffered from a shortage of empirical studies. We recently undertook a study in an area that seems well suited to empirical investigation, comparing the performance of several static analysis tools for evaluating properties of concurrent software. During the course of that study, we encountered a number of signific...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Softw. Test., Verif. Reliab.
دوره 4 شماره
صفحات -
تاریخ انتشار 1994